package com.taobao.client.component.templete;

/**
 * a marker interface which marks HTML-Template-Sources
 * 
 * <code>
 * 	interface DemoTemplateSource extends ITemplateSource{
 * 		
 * 		// @gwt.template-source my.html $content$
 * 		String getLoginForm();
 * 	}
 * 
 *  DemoTemplateSource dts = GWT.create(DemoTemplateSource.class);
 *  String loginFormTemplate = dts.getLoginForm();
 *  HTMLTemplatePanelX loginForm = new HTMLTemplatePanelX(loginFormFormTemplate);
 * </code>
 * 
 * at compile time, the Rebinder will read the html and find the element and
 * then pack the html source code into the compiled output
 * 
 * By using ITemplateSource, the template will be compiled into js and dont need
 * a runtime's load anymore which will make application runs fast
 * 
 * TODO - add support for system property -Dtemplate.loading=dynamic in
 * generator when template.loading=dynamic, the generate code request template
 * at runtime
 * <br/>
 * 兼容Annotation的注释方式<br/>
 * 并且可把模板放置public文件夹下<br/>
 * 例子：<br/>
 * <br/>
	interface HTMLTemplate extends ITemplateSource {

		@TemplateAnnotation(
				elementId="DynamicMenuPanel", 
				templateUrl="html/component/dynamicmenu/Template_New_DynamicMenu.html")
		String getDynamicMenuPanelHtml();
	}
 * @gwt.templateUrl .**
 * @gwt.elementId **
 * @return {@link String}
 */
public interface ITemplateSource {

}
